package com.easycoding.framework.dao.mongodb;

import java.util.List;

public interface IAbstractDao<T> {
	
	/**
	 * 新增
	 * @param t
	 * @return
	 */
	public T insert(T t);
	
	/**
	 * 更新
	 * @param t
	 * @return
	 */
	public T update(T t);
	
	/**
	 * 保存或更新
	 * @param t
	 * @return
	 */
	public T saveOrUpdate(T t);
	
	/**
	 * 通过ID删除
	 * @param id
	 */
	public void deleteById(String id);
	
	/**
	 * 删除记录
	 * @param t
	 */
	public void delete(T t);
	
	/**
	 * 通过ID查找
	 * @param id
	 * @return
	 */
	public T findById(String id);
	
	
	/**
	 * 删除所有记录
	 */
	public void deleteAll();
	
	/**
	 * 删除表
	 */
	public void drop();
	
	
	
	public List<T> findAll();
}
